package com.stylefeng.guns.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 广告表
 * </p>
 *
 * @author ruiyifeng123
 * @since 2018-05-05
 */
@TableName("wz_adv")
public class WzAdv extends Model<WzAdv> {

    private static final long serialVersionUID = 1L;

    /**
     * 广告编号
     */
    @TableId(value = "adv_id", type = IdType.AUTO)
    private Long advId;
    /**
     * 广告标题
     */
    private String title;
    /**
     * 封面图片url
     */
    @TableField("cover_url")
    private String coverUrl;
    /**
     * 封面缩略图
     */
    @TableField("mini_cover_url")
    private String miniCoverUrl;
    /**
     * 广告内容
     */
    @TableField("adv_detail")
    private String advDetail;
    /**
     * 是否有详情：0-没有；1-有
     */
    @TableField("has_detail")
    private Integer hasDetail;
    /**
     * 联系商家信息id
     */
    @TableField("user_info_id")
    private Long userInfoId;
    /**
     * 优惠券id组合
     */
    @TableField("coupon_ids")
    private String couponIds;
    /**
     * 商家问卷id
     */
    @TableField("adv_questionnaire_id")
    private Long advQuestionnaireId;
    /**
     * 广告提问id
     */
    @TableField("adv_question_id")
    private Long advQuestionId;
    /**
     * 调查问卷id
     */
    @TableField("questionnaire_id")
    private String questionnaireId;
    /**
     * 修改人id
     */
    @TableField("modifier_id")
    private Integer modifierId;
    /**
     * 姓名
     */
    @TableField("modifier_name")
    private String modifierName;
    /**
     * 发布用户编号
     */
    @TableField("user_code")
    private Long userCode;
    /**
     * 发布类型：1-后台发布；2-商家发布；3-用户发布
     */
    @TableField("publishing_type")
    private Integer publishingType;
    /**
     * 类型：1-非即时广告；2-即时广告
     */
    private Integer type;
    /**
     * 子类型：1-广告；2-调查问卷；3-新闻；
     */
    private Integer subtype;
    /**
     * 状态：1-编辑中；2-审核中；3-审核驳回；4-审核通过；5-发布中；6-下架；
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 最近修改时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 发布时间
     */
    @TableField("release_time")
    private Date releaseTime;
    /**
     * 删除标记:0-否1-是
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 推送人数
     */
    @TableField("push_number")
    private Integer pushNumber;
    /**
     * 广告发布费用
     */
    private Integer expense;
    /**
     * 剩余人数
     */
    @TableField("surplus_number")
    private Integer surplusNumber;
    /**
     * 赏金总额
     */
    @TableField("total_reward")
    private Integer totalReward;
    /**
     *  剩余赏金
     */
    @TableField("surplus_reward")
    private Integer surplusReward;
    /**
     * 赏金发放类型：1-平均；2-随机
     */
    @TableField("reward_type")
    private Integer rewardType;
    /**
     * 赏金平均值
     */
    @TableField("reward_average")
    private Integer rewardAverage;
    /**
     * 赏金波动范围
     */
    @TableField("reward_range")
    private Integer rewardRange;
    /**
     * 开始时间
     */
    @TableField("begin_time")
    private Date beginTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 筛选性别
     */
    @TableField("screen_gender")
    private Integer screenGender;
    /**
     * 筛选最小年龄
     */
    @TableField("screen_min_age")
    private Integer screenMinAge;
    /**
     * 筛选最大年龄
     */
    @TableField("screen_max_age")
    private Integer screenMaxAge;
    /**
     * 筛选所在城市
     */
    @TableField("screen_city")
    private String screenCity;
    /**
     * 筛选范围
     */
    @TableField("screen_range")
    private String screenRange;
    /**
     * 审核人id
     */
    @TableField("auditor_id")
    private Integer auditorId;
    /**
     * 审核时间
     */
    @TableField("audit_time")
    private Date auditTime;
    /**
     * 审核备注
     */
    @TableField("audit_remark")
    private String auditRemark;


    public Long getAdvId() {
        return advId;
    }

    public void setAdvId(Long advId) {
        this.advId = advId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }

    public String getMiniCoverUrl() {
        return miniCoverUrl;
    }

    public void setMiniCoverUrl(String miniCoverUrl) {
        this.miniCoverUrl = miniCoverUrl;
    }

    public String getAdvDetail() {
        return advDetail;
    }

    public void setAdvDetail(String advDetail) {
        this.advDetail = advDetail;
    }

    public Integer getHasDetail() {
        return hasDetail;
    }

    public void setHasDetail(Integer hasDetail) {
        this.hasDetail = hasDetail;
    }

    public Long getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(Long userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getCouponIds() {
        return couponIds;
    }

    public void setCouponIds(String couponIds) {
        this.couponIds = couponIds;
    }

    public Long getAdvQuestionnaireId() {
        return advQuestionnaireId;
    }

    public void setAdvQuestionnaireId(Long advQuestionnaireId) {
        this.advQuestionnaireId = advQuestionnaireId;
    }

    public Long getAdvQuestionId() {
        return advQuestionId;
    }

    public void setAdvQuestionId(Long advQuestionId) {
        this.advQuestionId = advQuestionId;
    }

    public String getQuestionnaireId() {
        return questionnaireId;
    }

    public void setQuestionnaireId(String questionnaireId) {
        this.questionnaireId = questionnaireId;
    }

    public Integer getModifierId() {
        return modifierId;
    }

    public void setModifierId(Integer modifierId) {
        this.modifierId = modifierId;
    }

    public String getModifierName() {
        return modifierName;
    }

    public void setModifierName(String modifierName) {
        this.modifierName = modifierName;
    }

    public Long getUserCode() {
        return userCode;
    }

    public void setUserCode(Long userCode) {
        this.userCode = userCode;
    }

    public Integer getPublishingType() {
        return publishingType;
    }

    public void setPublishingType(Integer publishingType) {
        this.publishingType = publishingType;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getSubtype() {
        return subtype;
    }

    public void setSubtype(Integer subtype) {
        this.subtype = subtype;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getPushNumber() {
        return pushNumber;
    }

    public void setPushNumber(Integer pushNumber) {
        this.pushNumber = pushNumber;
    }

    public Integer getExpense() {
        return expense;
    }

    public void setExpense(Integer expense) {
        this.expense = expense;
    }

    public Integer getSurplusNumber() {
        return surplusNumber;
    }

    public void setSurplusNumber(Integer surplusNumber) {
        this.surplusNumber = surplusNumber;
    }

    public Integer getTotalReward() {
        return totalReward;
    }

    public void setTotalReward(Integer totalReward) {
        this.totalReward = totalReward;
    }

    public Integer getSurplusReward() {
        return surplusReward;
    }

    public void setSurplusReward(Integer surplusReward) {
        this.surplusReward = surplusReward;
    }

    public Integer getRewardType() {
        return rewardType;
    }

    public void setRewardType(Integer rewardType) {
        this.rewardType = rewardType;
    }

    public Integer getRewardAverage() {
        return rewardAverage;
    }

    public void setRewardAverage(Integer rewardAverage) {
        this.rewardAverage = rewardAverage;
    }

    public Integer getRewardRange() {
        return rewardRange;
    }

    public void setRewardRange(Integer rewardRange) {
        this.rewardRange = rewardRange;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getScreenGender() {
        return screenGender;
    }

    public void setScreenGender(Integer screenGender) {
        this.screenGender = screenGender;
    }

    public Integer getScreenMinAge() {
        return screenMinAge;
    }

    public void setScreenMinAge(Integer screenMinAge) {
        this.screenMinAge = screenMinAge;
    }

    public Integer getScreenMaxAge() {
        return screenMaxAge;
    }

    public void setScreenMaxAge(Integer screenMaxAge) {
        this.screenMaxAge = screenMaxAge;
    }

    public String getScreenCity() {
        return screenCity;
    }

    public void setScreenCity(String screenCity) {
        this.screenCity = screenCity;
    }

    public String getScreenRange() {
        return screenRange;
    }

    public void setScreenRange(String screenRange) {
        this.screenRange = screenRange;
    }

    public Integer getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(Integer auditorId) {
        this.auditorId = auditorId;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public String getAuditRemark() {
        return auditRemark;
    }

    public void setAuditRemark(String auditRemark) {
        this.auditRemark = auditRemark;
    }

    @Override
    protected Serializable pkVal() {
        return this.advId;
    }

    @Override
    public String toString() {
        return "WzAdv{" +
        "advId=" + advId +
        ", title=" + title +
        ", coverUrl=" + coverUrl +
        ", miniCoverUrl=" + miniCoverUrl +
        ", advDetail=" + advDetail +
        ", hasDetail=" + hasDetail +
        ", userInfoId=" + userInfoId +
        ", couponIds=" + couponIds +
        ", advQuestionnaireId=" + advQuestionnaireId +
        ", advQuestionId=" + advQuestionId +
        ", questionnaireId=" + questionnaireId +
        ", modifierId=" + modifierId +
        ", modifierName=" + modifierName +
        ", userCode=" + userCode +
        ", publishingType=" + publishingType +
        ", type=" + type +
        ", subtype=" + subtype +
        ", status=" + status +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", releaseTime=" + releaseTime +
        ", delFlag=" + delFlag +
        ", pushNumber=" + pushNumber +
        ", expense=" + expense +
        ", surplusNumber=" + surplusNumber +
        ", totalReward=" + totalReward +
        ", surplusReward=" + surplusReward +
        ", rewardType=" + rewardType +
        ", rewardAverage=" + rewardAverage +
        ", rewardRange=" + rewardRange +
        ", beginTime=" + beginTime +
        ", endTime=" + endTime +
        ", screenGender=" + screenGender +
        ", screenMinAge=" + screenMinAge +
        ", screenMaxAge=" + screenMaxAge +
        ", screenCity=" + screenCity +
        ", screenRange=" + screenRange +
        ", auditorId=" + auditorId +
        ", auditTime=" + auditTime +
        ", auditRemark=" + auditRemark +
        "}";
    }
}
